package fun.ipconfig.sort;

public class InsertSort {
    /**
     * 插入排序法
     * 优点，处理顺序不是很乱的数据性能好，处理数据大小调换的能力比冒泡算法强
     * 缺点，数据处理时内存需要经过大量的修改操作，同样收到大小数据值的影响
     * @param arr
     */
    public static void sort(int arr[]){
        for(int i = 0;i< arr.length-1;i++){
            for(int j = i+1;j>0 && arr[j] < arr[j-1];j--){
                arr[j-1] = arr[j] + arr[j-1];
                arr[j] = arr[j-1] - arr[j];
                arr[j-1] = arr[j-1] - arr[j];
            }
        }
    }

    public static void main(String[] args) {
        int arr[] = {3,4,2,1,12,34,11,23,156,123,123,46,16,18,77,91,36,1245,561,321,346,612,356,136,167,1334};
        sort(arr);
        for(int i : arr){
            System.out.println(i);
        }
    }
}
